#!/bin/bash

# 安装docker
yum install -y yum-utils

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装特定版本的docker-ce
yum install -y docker-ce-19.03.5 docker-ce-cli-19.03.5 containerd.io

# 添加一个配置文件，Docker 在默认情况下使用Vgroup Driver为cgroupfs，而Kubernetes推荐使用systemd来替代cgroupfs
mkdir /etc/docker
cat <<EOF > /etc/docker/daemon.json
{
        "registry-mirrors": [
                "https://cr.console.aliyun.com",
                "https://docker.mirrors.ustc.edu.cn",
                "https://registry.docker-cn.com",
                "https://b9pmyelo.mirror.aliyuncs.com"				
        ],
        "insecure-registries":["harbor.rs.nlecloud.com"],
		"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

# 启动dokcer
systemctl enable docker && sudo systemctl start docker


# install docker-compose
sudo curl -L "http://resource.rs.nlecloud.com/common/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

yum install net-tools -y

# 禁用iptable和firewalld服务
# kubernetes和docker 在运行的中会产生大量的iptables规则，为了不让系统规则跟它们混淆，直接关闭系统的规则
# disable firealld
#systemctl stop firewalld
#systemctl disable firewalld
# disable iptable
#systemctl stop iptables
#systemctl disable iptables


# 禁用selinux，selinux是linux系统下的一个安全服务，如果不关闭它，在安装集群中会产生各种各样的奇葩问题
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config


# 禁用swap分区
swapoff -a
sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab

# 重启服务器
#reboot
